package com.ce.pms.customer.vo;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

import com.ce.pms.common.model.SysInfo;
import com.sitechasia.webx.core.model.IViewObject;

public class InterestVO implements IViewObject {

	/**
	 * long：serialVersionUID
	 */
	private static final long serialVersionUID = -3360010391788450529L;

	/**
	 * 兴趣爱好id
	 */
	private Long interestId;

	/**
	 * 兴趣爱好名称
	 */
	private String name;

	/**
	 * 兴趣爱好编号
	 */
	private String code;

	/**
	 * 有效性
	 */
	private String validity;

	/**
	 * 创建人名称
	 */
	private String creatorName;

	/**
	 * 创建人
	 */
	private Long creator;

	/**
	 * 创建日期
	 */
	private Date sysdate;

	/**
	 * 修改人名称
	 */
	private String modifierName;

	/**
	 * 修改人
	 */
	private Long modifier;

	/**
	 * 修改日期
	 */
	private Date modifyDate;


	/**
	 *
	 * 功能描述: TODO 空构造器
	 *
	 * @author 付湘辉
	 * Created on:2008-5-30
	 *
	 * 修改原因：
	 */
	public InterestVO() {
		super();
	}


	/**
	 *
	 * 功能描述: TODO 构造器（不构造创建和修改信息）
	 *
	 * @author 付湘辉
	 * Created on:2008-5-30
	 *
	 * 修改原因：
	 * @param interestId 兴趣爱好id
	 * @param name 兴趣爱好名称
	 * @param code 兴趣爱好编号
	 * @param validity 有效性
	 */
	public InterestVO(Long interestId, String name, String code,
			          String validity) {
		super();
		this.interestId = interestId;
		this.name = name;
		this.code = code;
		this.validity = validity;
	}


	/**
	 *
	 * 功能描述: TODO 完全构造器
	 *
	 * @author 付湘辉
	 * Created on:2008-5-30
	 *
	 * 修改原因：
	 * @param interestId 兴趣爱好id
	 * @param name 兴趣爱好名称
	 * @param code 兴趣爱好编号
	 * @param validity 有效性
	 * @param creatorName
	 * @param creator
	 * @param sysdate
	 * @param modifierName
	 * @param modifier
	 * @param modifyDate
	 */
	public InterestVO(Long interestId, String name, String code,
			          String validity, String creatorName, Long creator,
			          Date sysdate, String modifierName, Long modifier,
			          Date modifyDate) {
		super();
		this.interestId = interestId;
		this.name = name;
		this.code = code;
		this.validity = validity;
		this.creatorName = creatorName;
		this.creator = creator;
		this.sysdate = sysdate;
		this.modifierName = modifierName;
		this.modifier = modifier;
		this.modifyDate = modifyDate;
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public Long getCreator() {
		return creator;
	}

	public void setCreator(Long creator) {
		this.creator = creator;
	}

	public String getCreatorName() {
		return creatorName;
	}

	public void setCreatorName(String creatorName) {
		this.creatorName = creatorName;
	}

	public Long getInterestId() {
		return interestId;
	}

	public void setInterestId(Long interestId) {
		this.interestId = interestId;
	}

	public Long getModifier() {
		return modifier;
	}

	/**
	 *
	 * 功能描述: TODO
	 *
	 * @author 付湘辉
	 * Created on:2008-5-30
	 *
	 * 修改原因：
	 * @param modifier
	 * @return void 返回结果
	 */
	public void setModifier(Long modifier) {
		this.modifier = modifier;
	}

	/**
	 *
	 * 功能描述: TODO
	 *
	 * @author 付湘辉
	 * Created on:2008-5-30
	 *
	 * 修改原因：
	 * @return
	 * @return String 返回结果
	 */
	public String getModifierName() {
		return modifierName;
	}

	/**
	 *
	 * 功能描述: TODO
	 *
	 * @author 付湘辉
	 * Created on:2008-5-30
	 *
	 * 修改原因：
	 * @param modifierName
	 * @return void 返回结果
	 */
	public void setModifierName(String modifierName) {
		this.modifierName = modifierName;
	}

	/**
	 *
	 * 功能描述: TODO
	 *
	 * @author 付湘辉
	 * Created on:2008-5-30
	 *
	 * 修改原因：
	 * @return
	 * @return Date 返回结果
	 */
	public Date getModifyDate() {
		return modifyDate;
	}

	/**
	 *
	 * 功能描述: TODO
	 *
	 * @author 付湘辉
	 * Created on:2008-5-30
	 *
	 * 修改原因：
	 * @param modifyDate
	 * @return void 返回结果
	 */
	public void setModifyDate(Date modifyDate) {
		this.modifyDate = modifyDate;
	}

	/**
	 *
	 * 功能描述: TODO
	 *
	 * @author 付湘辉
	 * Created on:2008-5-30
	 *
	 * 修改原因：
	 * @return
	 * @return String 返回结果
	 */
	public String getName() {
		return name;
	}

	/**
	 *
	 * 功能描述: TODO
	 *
	 * @author 付湘辉
	 * Created on:2008-5-30
	 *
	 * 修改原因：
	 * @param name
	 * @return void 返回结果
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 *
	 * 功能描述: TODO
	 *
	 * @author 付湘辉
	 * Created on:2008-5-30
	 *
	 * 修改原因：
	 * @return
	 * @return Date 返回结果
	 */
	public Date getSysdate() {
		return sysdate;
	}

	/**
	 *
	 * 功能描述: TODO
	 *
	 * @author 付湘辉
	 * Created on:2008-5-30
	 *
	 * 修改原因：
	 * @param sysdate
	 * @return void 返回结果
	 */
	public void setSysdate(Date sysdate) {
		this.sysdate = sysdate;
	}

	/**
	 *
	 * 功能描述: TODO
	 *
	 * @author 付湘辉
	 * Created on:2008-5-30
	 *
	 * 修改原因：
	 * @return
	 * @return String 返回结果
	 */
	public String getValidity() {
		return validity;
	}

	/**
	 *
	 * 功能描述: TODO
	 *
	 * @author 付湘辉
	 * Created on:2008-5-30
	 *
	 * 修改原因：
	 * @param validity
	 * @return void 返回结果
	 */
	public void setValidity(String validity) {
		this.validity = validity;
	}


	@Override
	public int hashCode() {
		final int PRIME = 31;
		int result = 1;
		result = PRIME * result + ((interestId == null) ? 0 : interestId.hashCode());
		return result;
	}


	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		final InterestVO other = (InterestVO) obj;
		if (interestId == null) {
			if (other.interestId != null)
				return false;
		} else if (!interestId.equals(other.interestId))
			return false;
		return true;
	}







}
